{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Using the C12 emulator\n",
"C12 Callisto is software that emulates our real quantum machine in development.\n",
"It is made on top of the Qiskit library with a proprietary noise model corresponding to our system and with the physical parameters of real devices.\n",
"This offers realistic noisy simulations of runs on real devices.\n",
"All the errors that occur during the execution of a quantum circuit have been modelled in the emulator.\n",
"\n",
"Quantum errors are due to decoherence channels.\n",
"This first version includes decoherence from charge noise, from phonon noise and from relaxation of the qubit through its quantum bus, a microwave resonator.\n",
"Callisto offers additional features like mid-circuit measurement and noisy initialization.\n",
"The quantum gate set of the current configuration is $R_X$, $R_Y$ and $R_Z$ for the 1Q gates and ISWAP for the 2Q gate.\n",
"Any other gate will be transpiled into this basis gate set.\n",
"\n",
"Callisto's physical parameters are based on the first quantum chip that C12 will fabricate & release.\n",
"For the moment, we offer one fixed configuration of the C12 emulator.\n",
"The chosen configuration leads to the following fidelities.\n",
"\n",
"### Running a quantum circuit\n",
"To run the circuits on the C12 emulator, first, it is mandatory to obtain the authentication token that will be used for connection to the remote server where our emulator is. So don't hesitate to contact the system administrator to get one.\n",
"\n",
"A token is set via UserConfig class, as shown in the example bellow. UserConfig class has other properties, like more detailed out, which can be set by setting the parameter \"verbose\" to True. One important remark is that the object of the `UserConfig` class is passed to the provider instance, so for any change to take effect one has to reinitialize the provider.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As mentioned in the first tutorial, the provided class contains information about available backends that can be used for running the circuit. Furthermore, the available ones can be viewed using the `backends()` method of the provider class (recall that this applies to every Qiskit's provider class, as its sole purpose is to provide access to backends).\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Backend data {'backend_name': 'c12sim', 'local': False, 'simulator': True, 'basis_gates': ['crx', 'rx', 'ry', 'rz'], 'description': 'C12 simulator', 'n_qubits': 13, 'conditional': False, 'max_shots': 100000, 'memory': False, 'open_pulse': False, 'max-circuits': 1}\n"
]
}
],
"source": [
"# UserConfig class\n",
"from c12_callisto_clients.user_configs import UserConfigs\n",
"import os\n",
"user_auth_token = os.getenv(\"C12_TOKEN\")\n",
"configs = UserConfigs.parse_obj({\"token\" : user_auth_token})\n",
"\n",
"from c12_callisto_clients.qiskit.c12sim_provider import C12SimProvider\n",
"c12_simulator_provider = C12SimProvider(configs)\n",
"c12_backends = c12_simulator_provider.backends()\n",
"\n",
"\n",
"print(f\"Backend data {c12_backends[0]}\")\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We have to call the `get_backend()` function to get the instance of a chosen backend. To the `get_backend()` function, we pass the name of the desired backend we need to obtain."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n"
]
}
],
"source": [
"c12_simulator_backend_iswap = c12_simulator_provider.get_backend('c12sim-iswap') # Basis gate set with iSWAP gate\n",
"print(c12_simulator_backend_iswap)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Finally, we will run a quantum circuit on the C12 simulator. We will create one circuit using the Qiskit QuantumCircuit class to do that. Then, using the obtained C12 simulator backend class, we will run the circuit using the `run()` method.\n",
"\n",
"Method `run()` can have an additional parameter, such as the number of shots (number of times the simulation is run).\n",
"Also, recall that after calling the `run()` method, we get an instance of a Job class.\n",
"Additionally, it could take some time for the simulation to finish. Usually, the time is less than one minute, but it depends on the circuit and the server load at that moment.\n",
"\n",
"Furthermore, in the sixth notebook it is shown that we can pass physical parameters to the `run()` method in order to run the simulation with different physical system."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"C12 simulation counts (iSWAP): {'00': 5026, '01': 11, '10': 16, '11': 4947}\n"
]
}
],
"source": [
"from qiskit import QuantumCircuit\n",
"\n",
"circuit = QuantumCircuit(2)\n",
"circuit.h(0)\n",
"circuit.cx(0, 1)\n",
"\n",
"c12_job_iswap = c12_simulator_backend_iswap.run(circuit, shots=10000)\n",
"c12_result_iswap = c12_job_iswap.result()\n",
"c12_counts_iswap = c12_result_iswap.get_counts()\n",
"print(f\"C12 simulation counts (iSWAP): {c12_counts_iswap}\")"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"# We will also run the same circuit on the Aer statevector simulator to obtain the perfect results.\n",
"from qiskit import Aer\n",
"\n",
"backend_aer = Aer.get_backend(\"statevector_simulator\")\n",
"result_aer = backend_aer.run(circuit, shots=10000).result()\n",
"counts_aer = result_aer.get_counts()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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uDg0aNCg2DYdHR2RnZ2NlJQUqczKygomJia4e/euUn1BEPDZZ58hODi42Pb27NmDkSNHYsOGDejcuTM2b96MrVu3Ijo6Go6Ojkr1w8PD4e3tjZs3byqck7p161Zo/TciIm15/3n5syAnJwd37tyREu+XTVhTZaGU2zczKrf/lStX8J///Afh4eFISkqCrq4umjRpAn9/f4wfPx61a9cGAERERCA0NBSXLl3C1atXkZeXhzt37sDJyUmhvVu3bmHLli04deoUYmNjoaOjAzc3N8ycORNDhgypXLAaUvT7eOrUKXTv3r1C+0ZHR2Pv3r0YPXq00rnSZmX933gRR2CrqWfPniEzMxP9+/dXKHdzc8P169dL3bdRo0aQyWSoXbs2Vq9erbAtMTERnTt3Vijr0qULEhISVIpz9erVGDduHMaPHw83NzesWbMG9evXx8aNG0vdz9raGra2ttIPk1ei6qciU5hetHHjRgiCIN1VXCQrKws9evSQ2jQyMsKSJUsU6ujq6hY7StqyZUulfvj+Uz198803aNeuHS5evIg5c+bgyJEj+OmnnzB06FBs2rQJ48aNk+qeOHECx48fh6OjIzw9PUts8+jRowgLC8PgwYOxb98+/PDDD2jcuDGGDh2Kzz///FUcVrUSHR2NoKAgxMXFaToUjWECW03dunULANCwYUOFcmtra2RlZRW7j6urK0aOHInQ0FBs3LgR9vb2+Pjjj/H1119LdQoKCuDg4KCwn4ODAwoKCiocY15eHv766y/4+voqlPv6+uL3338vdd82bdrAzs4OPj4+OHXqVIX7JqKqpeoUpnv37mH69OnFLg/l7e2N06dPY8GCBTh16hTeeustLFy4ELt27ZLq/PPPPwpToJYtWwYACkkPwPef6ioyMhIffPABevbsib/++gtTpkxB9+7d0atXL8ydOxc3btzAmDFjpPoLFy5EXFwcfvrpJ/Tr16/Edv39/REdHY158+ahV69e6Nu3L0JDQ9GvXz8sW7YMubm5r+LwXnsl5RfVERPYau7lO/JEUSzxLr2+fftix44dGDFiBCZOnIirV6/C2toaX3zxhUK9lx9lqOosktTUVBQUFMDGxkah3MbGBsnJycXuY2dnhy1btuDHH3/E/v374erqCh8fH5w5c0alGIioamzbtg3NmjXD9u3b0b9/f1y6dAn6+vqYNWtWqft1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\n",
"text/plain": [
"